package com.hollowlatte.manage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hollowlatte.manage.entity.Score;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author Hollow Latte
 * @since 2021-05-05
 */
public interface ScoreService extends IService<Score> {
    /**
     * 添加学生一门课程的成绩
     *
     * @param score 成绩实体类
     * @return 是否有影响行数
     */
    boolean saveCourseScore(Score score);


    /**
     * 获取学生所有学期成绩
     *
     * @param studentId 学生id
     * @return 成绩列表
     */
    List<Score> listScore(Long studentId);

    /**
     * 获取学生指定学期成绩
     *
     * @param studentId 学生id
     * @param term      学期
     * @return 成绩列表
     */
    List<Score> listScoreByTerm(Long studentId, int term);

    /**
     * 删除学生一门课程的成绩
     *
     * @param studentId 学生id
     * @param courseId  课程id
     * @return 是否有影响行数
     */
    boolean removeCourseScore(Long studentId, Long courseId);


    /**
     * 通过学生id和课程id修改成绩
     *
     * @param score 成绩实体类
     * @return 是否有影响行数
     */
    boolean updateScoreByStudentIdAndCourseId(Score score);
}
